# 创建集合
set ={1,2,3,4}
print(set)

# 自动去重合
set1 = {1, 2, 4, 3, 3, 4, 4, 3, 3, 2, 2, 2, 2, 1,5}
print(set1)

# 打印内容无序
set2 = {"aaa","bbb","ccc","ddd","eee"}
print(set2)

# 添加 set.add() 方法
set3 = {1,3}
set3.add(4)
print(set3)

#### 删除
#set.pop()与 set.remove()

set4 = {"s", 1, "567", 2}

# pop会从集合中随机删除一个数
v = set4.pop()
print(set4, "a", v)

# remove 可以传参数删除指定的值，但是要注意，如果传的值不存在会报错。慎用。
set4.remove(2)
print(set4)

s#et.discard()
#与remove（）用法相同，但是如果元素不存在，不会报错。

set5 = {"s", 1, "567", 2}
b = set5.discard("123123")
print(b)
set5.discard("s")
print(set5)

#### 集合的运算
# 交集 set.intersection()

list_1 = [1,2,3,4,5,6,7,8,9]

list_2 = set(list_1)
list_3 = set([23,45,67,88,99,1,4,6])

print("list_2:",list_2,"\n",type(list_2))
print("list_3:",list_3)
# 交集
print(list_2.intersection(list_3))
print(list_2 & list_3)

# 并集
print(list_2.intersection(list_3))
print(list_2 & list_3)

# 差集
print(list_2.difference(list_3))
print(list_2 - list_3)

print(list_3.difference(list_2))
print(list_3 - list_2)

# 交叉补集
print(list_2.symmetric_difference(list_3))

# 子集
print(list_2.issubset(list_3))  #子集
print(list_2.issuperset(list_3))  #父集
list_4 = set([2,3])
print(list_4.issubset(list_2))



